Difference between compiler and interpreter